<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>

   

    // 字符匹配符
    // [xyz]  匹配集合中任意一个 x或y或z
    // [0-9]  匹配数字 [0123456789]
    // [a-z]  匹配小写 [qwertyuiopasdfghjklzxcvbnm]
    // [A-Z]  匹配大写 [QWERTYUIOPASDFGHJKLZXCVBNM]
    // [0-9a-zA-Z_] 匹配数字 字母 下划线 

    // 字符匹配符取反  =>  ^ 写在字符匹配符的最前面表示取反 => 非
    // [^xyz]  匹配x y z以外的任意字符
    // [^0-9]  匹配非数字
    // [^0-9a-zA-Z_]  匹配数字,字母,下划线,以外的字符

    // 注意:  字符匹配中 除 ^ [  ] - 转义字符(字符簇/普通转义) 以外的其他字符都是普通字符
    // [+*?]

    // 官方给定字符簇:   (digit 数字  write 写入  space)
    // \d   匹配数字 [0-9]
    // \D   匹配非数字 [^0-9]
    // \w   匹配数字,字母,下划线   [0-9a-zA-Z_]
    // \W   匹配非数字,字母,下划线
    // \s   匹配空白字符 (/n 换行符 /r回车符 /t  /v)
    // \S   匹配非空白字符 
    // .    匹配任意字符(除换行符)
    // [\u4e00-\u9fa5]   匹配中文



    // 用户名(英文):  由数字 字母 下划线 组成, 6-18位, 且不能以数字开头 

    // 由数字 字母 下划线 组成, 6-18位
    // var reg = /^[0-9a-zA-Z_],{6,18}$/
    
    // 由数字 字母 下划线 组成, 6-18位,且不能以数字开头 
    // var reg = /^[^0-9][0-9a-zA-Z_]{5,17}$/;
    
    // var reg = /^[a-zA-Z_][0-9a-zA-Z_]{5,17}$/;
    // var reg = /^[a-zA-Z_]\w{5,17}$/;  
     // var user = "a123123"; // true 
    // var user = "!123123"; // false
    // console.log(reg.test(user));


    //  由数字 字母 下划线 中文 组成, 6-18位, 且不能以数字或下划线开头
    // var reg = /^[a-zA-Z\u4e00-\u9fa5][\w\u4e00-\u9fa5]{5,17}$/;  

    // var user = "a123123"; // true 
    // var user = "你好啊123123"; // false
    // console.log(reg.test(user));



    // 手机号
    var reg = /^1[3-9]\d{9}$/
    var phone = "17386141517";
    console.log(reg.test(phone));



</script>
</html>